TrustedTypePolicyFactory: createPolicy() Methode

Limited availability

This feature is not Baseline because it does not work in some of the most widely-used browsers.

Hinweis: Diese Funktion ist in Web Workers verfügbar.

Die createPolicy()-Methode der TrustedTypePolicyFactory-Schnittstelle erstellt ein TrustedTypePolicy-Objekt, das die als policyOptions übergebenen Regeln implementiert.

Syntax

js
createPolicy(policyName, policyOptions)

Parameter

policyName

Ein String mit dem Namen der Richtlinie.

policyOptions Optional

Vom Benutzer definierte Funktionen zur Umwandlung von Zeichenfolgen in vertrauenswürdige Werte.

createHTML(input[,args])

Eine Callback-Funktion in Form eines Strings, die Code enthält, der beim Erstellen eines TrustedHTML-Objekts ausgeführt wird.

createScript(input[,args])

Eine Callback-Funktion in Form eines Strings, die Code enthält, der beim Erstellen eines TrustedScript-Objekts ausgeführt wird.

createScriptURL(input[,args])

Eine Callback-Funktion in Form eines Strings, die Code enthält, der beim Erstellen eines TrustedScriptURL-Objekts ausgeführt wird.

Rückgabewert

Ein TrustedTypePolicy-Objekt.

Ausnahmen

TypeError

Wird ausgelöst, wenn Richtliniennamen durch die Content-Security-Policy trusted-types-Direktive eingeschränkt sind und dieser Name nicht auf der Positivliste steht.

TypeError

Wird ausgelöst, wenn der Name ein Duplikat ist und die Content-Security-Policy trusted-types-Direktive nicht allow-duplicates verwendet.

Beispiele

Erstellen einer Richtlinie für HTML-Senken

Der untenstehende Code erstellt eine Richtlinie mit dem Namen "myEscapePolicy" und einer definierten Funktion für createHTML(), die HTML bereinigt.

js
const escapeHTMLPolicy = trustedTypes.createPolicy("myEscapePolicy", {
  createHTML: (string) => string.replace(/</g, "&lt;"),
});

Erstellen einer Standardrichtlinie

Auf einer Seite, auf der Trusted Types durch eine Content-Security-Policy mit der require-trusted-types-for-Direktive mit dem Wert script erzwungen werden, erwartet jedes Injektionsskript, das ein Skript akzeptiert, ein Trusted Type-Objekt. Falls stattdessen eine Zeichenfolge eingefügt wird, wird eine Standardrichtlinie verwendet.

Die Standardrichtlinie protokolliert eine Nachricht in der Konsole, um den Entwickler daran zu erinnern, diesen Teil der Anwendung anzupassen, um ein Trusted Type-Objekt zu verwenden. Sie hängt auch Details der Verwendung der Standardrichtlinie, des Typs und der Injektionssenke an den zurückgegebenen Wert an.

js
trustedTypes.createPolicy("default", {
  createScriptURL(s, type, sink) {
    console.log("Please refactor.");
    return `${s}?default-policy-used&type=${encodeURIComponent(
      type,
    )}&sink=${encodeURIComponent(sink)}`;
  },
});

Spezifikationen

Specification
Trusted Types
# dom-trustedtypepolicyfactory-createpolicy

Browser-Kompatibilität